#include "motor_task.h"
#include "FreeRTOS.h"
#include "task.h"
#include "ti_msp_dl_config.h"  // 根据实际硬件驱动调整

#include "control.h"
#include "pid.h"
#include "xunji_task.h"

/* 私有函数和变量（仅本文件可见） */
// static TaskHandle_t xMotorTaskHandle = NULL;  // 任务句柄

uint8_t task_mode = 1;  //任务1-4对应 0-3


/* 任务主函数 */
void MotorTask(void *pvParameters) 
{
    PID_param_init();
    DL_TimerG_startCounter(PWM_0_INST);
    motor_forward();
    // motor_back();
    motor_set_pwm(0, 0); 
    int i = 0;
	// DL_TimerG_setCaptureCompareValue(PWM_0_INST,16000,DL_TIMER_CC_0_INDEX);  // 400即为20%占空比（Period=1999）
    /* 任务主循环 */
    for (;;) {
        // if(task_mode == 0)
        // {
            motor_speed_pid();
        // }//任务1

        // if(task_mode == 1)
        // {
        //     if(task2_flag_2 == 0 || task2_flag_2 == 2)
        //     {
        //         motor_speed_pid();
        //     }
        //     else if(task2_flag_2 == 1)
        //     {
                // motor_angle_pid(0);
        //     }

        // }

    // pid_location_flag = 1;

        // i = !i;
        // if(i == 0)
        // {
        //     motor_set_pwm(30, 0);
        // }
        // else {
        //     motor_set_pwm(0, 0);
        // }
        // motor_location_pid(100);
        // motor_location_and_speed(100);
        /* 延迟10ms（根据需求调整） */
        vTaskDelay(pdMS_TO_TICKS(1));
    }
    
    /* 理论上不会执行到这里 */
    vTaskDelete(NULL);
}
